//package com.pig4cloud.util;
//
//import cn.hutool.core.bean.BeanUtil;
//import cn.hutool.core.convert.Convert;
//import cn.hutool.http.HttpUtil;
//import cn.hutool.json.JSONObject;
//import cn.hutool.json.JSONUtil;
//import com.pig4cloud.pig.miniprogram.vo.LonAndLatVO;
//
//import static java.lang.Math.toRadians;
//
///**
// * 距离工具类
// *
// * @author Oliver
// */
//public class DistanceUtils {
//
//	public static final double AVERAGE_RADIUS_OF_EARTH_M = 6371000.0;
//	public static final String TIAN_DI_TU_AK = "818e061962796e30bdc9eb48326474eb";
//
//	/**
//	 * 计算两个经纬度坐标之间的距离
//	 *
//	 * @param lat1 坐标1纬度
//	 * @param lon1 坐标1经度
//	 * @param lat2 坐标2纬度
//	 * @param lon2 坐标2经度
//	 * @return 距离/m
//	 * @author Oliver
//	 * @date 2024/5/20 15:56:30
//	 */
//	@SuppressWarnings("AlibabaLowerCamelCaseVariableNaming")
//	public static int distHaversineRAD(double lat1, double lon1, double lat2, double lon2) {
//		// 经度差值
//		double dx = lon1 - lon2;
//		// 纬度差值
//		double dy = lat1 - lat2;
//		// 平均纬度
//		double b = (lat1 + lat2) / 2.0;
//		// 东西距离
//		double lx = toRadians(dx) * AVERAGE_RADIUS_OF_EARTH_M * Math.cos(toRadians(b));
//		// 南北距离
//		double ly = AVERAGE_RADIUS_OF_EARTH_M * toRadians(dy);
//		// 用平面的矩形对角距离公式计算总距离
//		return Convert.toInt(Math.sqrt(lx * lx + ly * ly));
//	}
//
//	public static LonAndLatVO getLonAndLatByAddress(String address) {
//		String resultObj = HttpUtil.get("https://api.tianditu.gov.cn/geocoder?ds={\"keyWord\": \"" + address + "\"}&tk=" + TIAN_DI_TU_AK);
//		JSONObject result = JSONUtil.parseObj(resultObj);
//		JSONObject location = result.getJSONObject("location");
//		LonAndLatVO resultVo = new LonAndLatVO();
//		if (BeanUtil.isEmpty(location)) {
//			return null;
//		}
//		resultVo.setLatitude(Convert.toDouble(location.get("lat")));
//		resultVo.setLongitude(Convert.toDouble(location.get("lon")));
//		return resultVo;
//	}
//}
